<?php

/**
 * @author: biggege
 * @since:  2021-08-30 10:19:28
 */
namespace App\Helpers;

trait ArrayHelper
{

	/**
	 * 以数组的某列作为数组的索引返回 (会过滤重复键值)
	 * @param  array  $orig   源数组
	 * @param  string $column 指定的索引列
	 * @return array
	 */
	public function _reindexArray($orig, $column) {
		$result = array();
		if(empty($orig)) {
			return $result;
		}

		if(is_array($orig)){
			foreach($orig as $record){

				if(isset($record[$column])){
					$key = $record[$column];
				}else{
					$key = 0;
				}

				$result[$key] = $record;
			}
		}

		return $result;
	}

	/**
	 * 以数组某相同列作为键值返会数组
	 * @param  array  $orig   源数组
	 * @param  string $column 索引列
	 * @return array
	 */
	public function _reindexArrayList($orig,$column){
		$result = array();
		if(empty($orig)) {
			return $result;
		}

		if(is_array($orig)){
			foreach($orig as $record){

				if(isset($record[$column])){
					$key = $record[$column];
				}else{
					$key = 0;
				}
				$result[$key][] = $record;
			}
		}

		return $result;
	}

}